1. Field of the Invention
This invention relates generally to electrically programmable fuse technology, and in particular, to circuitry used to sense whether an electrically programmable fuse is blown or unblown.
2. Description of the Related Art
Modern electronic systems frequently use one or more electrically programmable fuses on a semiconductor chip to personalize function of the semiconductor chip in a particular electronic system. An electrically programmable fuse may be blown during manufacturing or may be blown at a later time, for example, in a customer's office. A state of an electrically programmable fuse (i.e., whether the electrically programmable fuse is “blown” or “unblown”) or of a plurality of electrically programmable fuses is used on the semiconductor chip to enable function, disable function, or to change function of the semiconductor chip. For example, a test function needed to test an electronic function may not be needed subsequent to the test of the electronic function. To save power, the test function may be disabled after the test has been performed. As a second example, a particular electronic function may be used in a military or other security sensitive application. Circuitry may be configured to detect attempts to tamper with the particular electronic system. Upon detection of an attempt to tamper with the particular electronic system, an electrically programmable fuse is blown to disable the particular electronic system, or to alter its behavior. Other uses of electrically programmable fuses include, but are not limited to, providing customized function to a customer, for examples, providing variations on cache sizes, cache associativity, driver/receiver voltage levels, and the like.
Modern electrically programmable fuses are typically constructed using a polysilicon shape, the polysilicon having a relatively high resistivity. A metal silicide (e.g., titanium silicide) is formed on a top surface of the polysilicon shape, the metal silicide having a relatively lower resistivity. An electrically programmable fuse is “blown” by running sufficient current through the electrically programmable fuse to cause the metal silicide to be removed from at least a portion of the polysilicon shape. For example, the current may cause electromigration in the metal silicide, causing the removal of the metal silicide from at least a portion of the polysilicon shape.
US2006/0136858, for example, teaches “blowing” of an electrically programmable fuse: “For some embodiments, driving a current of about 10 milliamperes at about 2.5-3.5 volts for about 200 microseconds through the silicide layer 202 causes the temperature of the silicide layer 202 and the polysilicon line 201 to rise, which sets up a thermal gradient. The thermal gradient causes the silicide layer 202 to migrate toward one end of the polysilicon line 201 as a result of electromigration principles, however, the current through the silicide layer 202 is sustained as long as the polysilicon line 201 remains hot, intrinsic, and conductive. The thermal gradient forces the electromigration of the silicide layer 202 to completion, i.e., drives the bulk of the silicide 202 in the fuse link 208 to the polysilicon layer 201, resulting in the non conductive depleted section 209 of the blown fuse illustrated in FIG. 2C.” . . . “The components then cool down, and the electrically programmable fuse is left with the highly resistive polysilicon line having an uncontiguous coating of the conductive silicide 202 (the conductive silicide 202 has migrated to one end of the polysilicon line and left the opposing end of the line bare.”
Application Ser. No. 11/297,311 filed on Dec. 8, 2005 teaches of resistance tolerances of blown electrically programmable fuses and unblown electrically programmable fuses, as well as circuitry used to blow an electrically programmable fuse. Detailed understanding of application Ser. No. 11/297,311 is not required for the present application; it will suffice to know that special circuitry is needed to blow an electrically programmable fuse and that resistance tolerances in both blown and unblown electrically programmable fuses are, in general, relatively large, and that tracking of similar devices on a semiconductor chip is imperfect.
FIG. 1A shows a prior art electrically programmable fuse sense circuit 20 configured to sense an electrically programmable fuse 12. Electrically programmable fuse 12 has a first value of resistance RFUSE (within a first range of resistance of an unblown electrically programmable fuse) when electrically programmable fuse 12 is unblown. Electrically programmable fuse 12 has a second value of resistance RFUSE (with a second range of resistance of a blown electrically programmable fuse) when electrically programmable fuse 12 is blown. Special circuitry used to blow electrically programmable fuse 12 is not shown, for simplicity (NFETs N10B and N11B are shown, however, and protect N10A, N11A when electrically programmable fuse 12 is being blown). A reference resistor 13, having a resistance RREF, is shown in FIG. 1A. During sensing of electrically programmable fuse 12, a first current is passed through electrically programmable fuse 12 and a second current is passed through reference resistor 13. Typically, the first current is designed to be the same as the second current. A first voltage is developed at node 21 and a second voltage is developed at node 22. The first voltage is proportional to the first current times the resistance, RFUSE, of electrically programmable fuse 12, plus small voltage drops across an NFET (N channel field effect transistor) N10A and an NFET N10B. The second voltage is proportional to the second current times the resistance, RREF, of reference resistor 13, plus small voltage drops across an NFET N11A and NFET N11B.
Latching circuit 10, comprising an inverter 11, PFETs (P channel field effect transistor) P14, P12, P13, and NFETs N12, N13, and N14) retains a logical value of whether or not electrically programmable fuse 12 is blown or unblown, as long as signal FSET 15 is active and PRECHARGE 14 and SIGDEV 16 are inactive. For example, if electrically programmable fuse 12 is unblown, RFUSE will be less than RREF, and therefore, when PRECHARGE 14 is active and SIGDEV 16 is active, node 21 will be of lower voltage than node 22, and latching circuit 10 will “remember” that electrically programmable fuse 12 is unblown. If, on the other hand, electrically programmable fuse 12 is blown, RFUSE will be greater than RREF, and node 21 will be at a higher voltage than node 22. Latching circuit 10 will remember that electrically programmable fuse 12 is blown.
In FIG. 1A, to sense whether electrically programmable fuse 12 is blown or unblown, PRECHARGE 14 is activated (“low”, in FIG. 1A). PFETs P10 and P11 drive both nodes 21 and 22 high. SIGDEV 16 is activated to enable currents from P10 and P11 to pass through electrically programmable fuse 12 and reference resistor 13, respectively. FSET 15 is then activated to enable latching circuit 10. In some implementations, FSET 15 is not used, with a gate of P14 simply being tied to ground and a gate of N14 being tied to Vdd. In another implementation, P14 and N14 are not implemented, with sources of P12 and P13 connected to VDD, and sources of N12 and N13 are coupled to ground. Latching circuit 10 latches the state of electrically programmable fuse 12 based on a difference between nodes 21 and 22 when SIGDEV 16 falls, FSET 15 is active and PRECHARGE 14 is inactive, as will be explained below with reference to FIG. 1B.
SIGDEV 16 is used in an embodiment to turn off N10A and N11A when electrically programmable fuse 12 is being programmed (blown). In a second embodiment, SIGDEV 16 is not used, and N10A and N11A are simply replaced by wires (conducting elements on the silicon chip, such as copper, aluminum, or silicided polysilicon). However, in such a second embodiment, any time PRECHARGE 14 is active, current flows from P10 and P11, which may dissipate more power than is desirable.
FIG. 1B shows a typical timing diagram of signals during a sense of electrically programmable fuse 12. PRECHARGE 15 begins “low”, turning on P10 and P11. At time T1, SIGDEV 16 is activated, thereby allowing currents from P10 and P11 to pass through electrically programmable fuse 12 and reference resistor 13, respectively. Nodes 21 and 22 are “high” (at Vdd) when PRECHARGE 14 is “low” and SIGDEV 16 is low. At T1, when SIGDEV is activated, node 21 goes to a voltage equal to current from P10 times RFUSE (plus small voltage drops across N10A and N10B); node 22 goes to a voltage equal to current from P11 times RREF (plus small voltage drops across N11A and N11B). Note that, in FIG. 1B, subsequent to time T1, there is a voltage difference between nodes 21 and 22, because node 21 will be lower than node 22 if electrically programmable fuse 12 is unblown; node 21 will be higher than node 22 if electrically programmable fuse 12 is blown, as described earlier.
At time T2, in FIG. 1B, FSET 15 is activated, enabling latching circuit 10. A Node voltage difference between node 21 and node 22 becomes slightly larger as shown. This is because a fraction of current from P14 goes to the “higher” of nodes 21 and 22, and a fraction of current through N14 comes from the “lower” of nodes 21 and 22.
At time T3, PRECHARGE 14 is deactivated (made “high” in the circuit of FIG. 1A). Subsequent to T3, only current from P14 flows to the “higher” of nodes 21, 22. P14 is typically designed to provide less current than P10 or P11. Since less voltage is therefore developed at the higher of nodes 21 and 22, a relatively small voltage, shown as VFM1 in FIG. 1B, remains as the voltage difference between nodes 21 and 22 at time T4.
A final logical value for the state of electrically programmable fuse 12 is latched into latching circuit 10 at time T4 upon deactivation of SIGDEV 16. It will be noted that only a small voltage difference, shown as VFM1, from node 21 to node 22 is present at time T4. When SIGDEV 16 falls at T4, latching circuit 10 will store a “1” or a “0” indicative of the state (i.e., “blown” or “unblown”) of electrically programmable fuse 12, depending on whether node 21 or node 22 was “higher” when SIGDEV 16 falls at time T4. Latching circuit 10 will retain this state until PRECHARGE 14 is again asserted.
Use of latching circuit 10 is implemented for several reasons. First, power dissipated in latching circuit 10 is close to zero when PRECHARGE 14 and SIGDEV 16 are not active. Second, continuously running current through an electrically programmable fuse may eventually electromigrate the silicide on an electrically programmable fuse, possibly making the electrically programmable fuse appear to be “blown”, even though the electrically programmable fuse has not been blown.
Designers of electronic systems need to deal with noise, capacitive coupling, and mistracking. In the circuit of FIG. 1A, suppose that node 21 is slightly lower than (e.g., VFM1 volts) node 22 when SIGDEV 16 falls at time T4. Further suppose that there exists crosstalk from some other signal capacitively coupled to node 21 or node 22 (other signal not shown; however, modern semiconductor chips have thousands, if not millions, of signals, one or more of which may be capacitively coupled to node 21 or node 22). Since the value of VFM1 is small, even a relatively small voltage change (i.e., a rise on node 21 or a fall on node 22 in the example) could cause latching circuit 10 to store an incorrect result of a blown/unblown state of electrically programmable fuse 12. Similarly, FET (field effect transistor) thresholds and FET device widths and lengths do not track perfectly from a first FET to a second FET. As circuits become smaller and smaller, amounts of threshold voltage or width or length mistracking become relatively larger. Because of such mistracking, it may be that an inverter comprising P12 an N12 has a lower switching voltage point than the switching voltage point of an inverter comprising P13 and N13. Therefore, for small values of VFM1, even if node 21 is slightly lower in voltage than node 22, latching circuit 10 may store an incorrect result of the blown/unblown state of electrically programmable fuse 12.
Therefore, there is a need for further improvement in sensing whether an electrically programmable fuse is blown or unblown.